package cn.stu.cms.service;

import cn.stu.cms.dto.PageDto;
import cn.stu.cms.dto.SetTeamDto;
import cn.stu.cms.pojo.Teams;
import cn.stu.cms.util.R;
import cn.stu.cms.vo.TeamsVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * (Teams)表服务接口
 *
 * @author gh
 * @since 2023-07-21 17:11:33
 */
public interface TeamsService extends IService<Teams> {


    /**
     * 新增数据
     *
     * @param teams 实例对象
     * @return 实例对象
     */
    R<Boolean> add(Teams teams);

    /**
     * 修改数据
     *
     * @param teams 实例对象
     * @return 实例对象
     */
    R<Boolean> edit(Teams teams);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    R<Boolean> deleteById(Long id);

    /**
     * 获取列表
     *
     * @param pageDto 页数到页
     * @param teams   团队
     * @return {@link R}
     */
    R<Page<Teams>> getList(PageDto<Teams> pageDto, Teams teams);



    /**
     * 按ID获取团队
     *
     * @param id ID
     * @return {@link R}<{@link Teams}>
     */
    R<TeamsVo> getTeamById(Long id);
}
